# 蓝图的初始化处理
from flask import Blueprint
from flask_restful import Api
from .passport import SMSCodeResource, LoginResource
from utils.constants import BASE_URL_PRIFIX
from .profile import CurrentUserResource, UserPhotoResource
from .channel import UserChannelResource

# 1.创建蓝图对象
# 给蓝图设置统一的资源段前缀
user_bp = Blueprint('user', __name__, url_prefix=BASE_URL_PRIFIX)

# 2.创建Api对象
user_api = Api(user_bp)

# 展开装饰器的形式设置自定义的响应json包装格式
from utils.output import output_json

# 使用组件对象设置json转换函数
user_api.representation('application/json')(output_json)

# 3.组件添加类视图
# 组件对象.add_resource(视图类, URL资源段)
# 给类视图的URL添加路径参数,并且添加路由转换器
user_api.add_resource(SMSCodeResource, '/sms/codes/<mob:mobile>')
# 添加注册登录类视图
user_api.add_resource(LoginResource, '/authorizations')
# 添加获取用户信息类视图
user_api.add_resource(CurrentUserResource, '/user')
# 添加修改头像类视图
user_api.add_resource(UserPhotoResource, '/user/photo')
# 添加获取用户频道类视图
user_api.add_resource(UserChannelResource, '/user/channels')
